The number of different types of printed circuits boards used for manufacturing a computer is increasing together with the requirement for advanced performance. The number of boards attached to a computer motherboard is thus increasing. This creates several types of problems. First, the physical size of computers increases, due to the number and volume of the different boards. Second, the number and length of signal lines on the motherboard increase; this creates routing problems and crosstalk. Third, the efficient cooling of the different boards is becoming increasingly complex and difficult to carry out.
These problems are notably encountered in multiprocessor environments. Computer performance is improving by using more and more sophisticated processors at high prices and/or by using complex implementations to gain a few percentage increase of bandwidth on DRAM or communication busses. It was therefore suggested to increase the number of processors running rather than increasing processor computation speed in order to greatly improve computer performance. Such a conventional multiprocessing system requires a large package and long signal lines. Further, since the multiprocessing system comprises a plurality of CPUs, it generates a large amount of heat compared to a single processing system.
FIG. 1 is a schematic view of such a multiprocessor system, exemplified with three different processors. The multiprocessor system of FIG. 1, comprises three processor printed circuit boards or cards 1, 2, 3, each of which includes a CPU 4, 5, 6 and a cache memory 7, 8 or 9. Each processor circuit board is connected to a common processor bus 10. The common processor bus is also connected to a memory controller 12; this controller is connected to a memory 14, e.g. a DRAM (Dynamic Random Access Memory). Each processor accesses memory 14 through the common processor bus 10 and the memory controller 12.